package com.white.framework.flow;

import com.white.framework.flow.enums.FlowNodeType;
import com.white.framework.flow.enums.FlowOptionEnum;

/**
 * 节点跳转操作
 */
public interface FlowNodeJobJump<T extends FlowNodeType> {

    /**
     * 使流程引擎将当前节点跳转到下一节点
     *
     * @param option       节点结果
     * @param businessNo   业务单号
     * @param operatorId 操作员ID
     * @param operatorName 操作员名称
     * @param remarks 备注
     * @return 下一个节点
     */
    T nextNode(FlowOptionEnum option, String businessNo, String operatorId, String operatorName, String remarks);

    /**
     * 开始节点
     *
     * 调用流程引擎的开始节点
     *
     * @param businessNo 业务单号
     * @return 下一个节点
     */
    T startNode(String businessNo);
}
